The present disclosure relates generally to information handling systems, and more particularly to enhancing graphics processing in an information handling system by dynamically and automatically modifying the sleep states available to a Central Processing Unit (CPU) in the information handling system.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Many information handling systems such as, for example, gaming devices and other graphics-intensive computing devices, include discrete Graphics Processing Units (GPUs) that are separate from the Central Processing Units (CPUs) in those computing devices and that are used to render graphics for display on those computing devices. However, it has been found that the performance of such GPUs is often constrained by the ability of its CPU(s) to quickly provide instructions and data to the GPU so that graphics may be rendered at a relatively high number of frames per second, which is a measure of how “smoothly” the GPU is able to render or otherwise provide a scene for display via real-time graphics processing. Specifically, CPUs typically utilize sleep states (also called “performance” states) that operate to reduce the functionality and/or use of the CPU in order to conserve battery life, but it has been found that entering into particular sleep states can reduce the graphics performance of the computing device.
For example, a CPU may provide first instructions/data to the GPU for rendering, and then enter a sleep state during an idle time in which the GPU renders graphics according to those first instructions/data, with conventional high power CPUs entering as deep as possible a sleep state in order to conserve the maximum amount of power. However, the next time the display of graphics on the computing device needs to be updated, the CPU must then wake from that sleep state in order to provide second instructions/data to the GPU for rendering that update, and the time needed to perform such a wake operation may be substantial depending on how deep a sleep state the CPU entered. It has been found that this time needed to wake the CPU so that the second instructions/data may be provided to the GPU can have a measurable impact on the frames per second rendered by the GPU, which translates into a degradation in the user perception of the displayed graphics. One solution to such issues is to entirely disable the sleep capability of the CPU, but such solutions introduce negative effects to the battery life of the computing device, as well as to the ability of some CPUs to enter a top turbo frequency and/or satisfy the idle power requirements defines for energy conservation certifications.
Accordingly, it would be desirable to provide an improved graphics processing system.